﻿/*
 * MediaPacketSink.h
 *
 *  Created on: 2016年3月16日
 *      Author: terry
 */

#ifndef MEDIAPACKETSINK_H_
#define MEDIAPACKETSINK_H_

#include "MFormat.h"


namespace av
{


class MediaPacketSink
{
public:
	virtual ~MediaPacketSink() {}

    /**
     * 接收媒体流格式
     * @param format
     * @return void
     */
    virtual void onMediaFormat(const MFormat& format) =0;

    /**
     * 接收解码帧
     * @param packet 不能改写帧内容
     * @return
     */
    virtual void onMediaPacket(MPacket& packet) =0;

    /**
     * 媒体流事件
     * @param event 事件
     * @return
     */
    virtual void onMediaEnd() =0;

};



} /* namespace av */

#endif /* MEDIAPACKETSINK_H_ */
